;:poke56,110:clr ;:sys36864 ;.opt oo *= $c000 print =$ffd2 vic =$d000 tmp =2 key =198 setnam =$ffbd setpar =$ffba open =$ffc0 close =$ffc3 flop =8 get =65508 clrchn =$ffcc chkin =$ffc6 chkout =$ffc9 clall =$ffe7 input =$ffcf namen =$7000 line =1909 axout =$bdcd clrl =59903 space =$ab3f mtmp =4 data =$8100 dtmp =247 st =144 druck =4 return =$aad7 maxi =250 ; zeile 1064 dwechsel =$cf00 cint =65409 busy =$6e00 redd =$6f00 section =704 sum1 =820 same =$ce00 keyp =631 quote =212 jmp start title .byte "\x93\x8e\x08\x12\x99\xb0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xae" .byte "\xdd twin search system tss vers. 2.0 \xdd" .byte "\xdd written by n. heusler, nh-080789 \xdd" .byte "\xdd ein nss programm nss 1988/89 \xdd" .byte "\xad\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xbd" .byt 13 desk .byte " dieses utility prueft, ob sich auf ei-" .byte " ner diskette mehrere identische files" .byte " befinden." .byt 13 .byte "\x11 bitte diskette einlegen !" brk abb .byt 13 .byte "\x11 programmabbruch !\x11" brk dst .byt 13 .byte "\x11 disk\x11\x9d\x9d\x9d\x9d\xa3\xa3\xa3\xa3\x91: " errflg .word 0 namef .byt 13 .byte "\x13\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11 dir-maske ? *\x9d" brk lef .byt 13 .byte "\x11 lese filenamen" brk nab .byt 13 .byte "\x11 bitte verfahren waehlen (ende = )" .byt 13 .byte "\x11 \x12 1 \x1d\x1d 2 \x1d\x1d 3 \x1d\x1d 4 \x1d\x1d 5 \x92 6 " brk stu .byt 13 .byte "\x11 anzahl files: " brk pic2 .byt 13 .byte "\x13\x11\x11\x11\x11\x11\x11 scanne " brk pic2a .byte " files" brk litz .byte "\x13\x11\x11\x11\x11\x11\x11\x11\x11 " brk gef .byte " gesamtaufstellung erwuenscht ? " .byt 13 .byte "\x11 \x12 d \x92\x91\x9d\x9d\x9d\xa4\xa4\xa4\x11 rucker" .byt 13 .byte " \x12 s \x92 chirm" .byt 13 .byte " \x12 n \x92 ein" brk head .byt 13,13 .byte " nr filename addr leng s1 s2" he2 .byte " s3 s4" .byt 13,0 wet .byt 13 .byte "\x11 noch eine diskette/a\x11\x9d\xa3\x91bbruch ? [j/n/a]" brk none .byt 13 .byte "\x11 zu wenige files !" brk full .byt 13 .byte "\x11 fehler\x11\x9d\x9d\x9d\x9d\x9d\x9d\xa3\xa3\xa3\xa3\xa3\xa3\x91: bitte maximal" .byte " 250 files !" brk dreht .byt 13 .byte "\x13\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11 bitte diskette einlegen ! (taste)" brk wahwah .byte " ausgabe der duplikate auf" .byt 13 .byte "\x11 \x12 d \x92\x91\x9d\x9d\x9d\xa4\xa4\xa4\x11 rucker" .byt 13 .byte " \x12 s \x92 chirm\x11" .byt 13 .byte " oder:\x11" .byt 13 .byte " \x12 a \x92\x91\x9d\x9d\x9d\xa4\xa4\xa4\x11 bbruch" .byt 13 .byte " \x12 n \x92 eustart" .byt 13 .byte " \x12 z \x92 urueck" brk keyt .byt 13 .byte " - bitte eine taste druecken -" brk tittel .byt 13,13 .byte " nss twin-searcher 2.0 nh-100789-arr" .byt 13,13 .byte " liste der duplikate:" .byt 13 .byte " (verfahren" brk pet1 .byt 13 .byte " folgende files sind duplikate:" .byt 13 .byte " (gruppe " brk pet2 .byte " files)" .byt 13,13,0 nopet .byte " --- keine duplikate gefunden ---" .byt 13,0 stat1 .byt 13 .byte " anzahl files: " brk stat2 .byt 13 .byte " davon unikate: " brk shift .byt 145,148,141,32 drt .byt 13 .byte "\x11 druckvorgang laeuft..." brk atwo .byt 13 .byte "\x11 write file open: ueberlesen ! (taste)\x91\x91" brk gui .byt 13 .byte " \x12 w \x92 eiter oder \x12 a \x92 bbruch ?" brk nons .byte "gesperrt" brk d0 .byte "$0:" .word 0,0,0,0,0,0,0,0 i0 .byte "i0" stack brk anzahl brk mode =166 curr =167 leng brk sum2 =sum1+2 sum3 =sum1+3 sum4 =sum1+4 sum5 =sum1+5 byte brk device brk disk brk high brk curr2 =168 samec brk gruz brk xmerk brk double brk auto brk t .word 0 dmode brk grbit .byt 1,2,4,8,16,32,64,128 hextab .byte "0123456789abcdef" strout sta mtmp sty mtmp+1 str ldy #0 lda (mtmp),y bne goon rts goon jsr print inc mtmp bne str inc mtmp+1 bne str waitkey lda #0 sta key wk cmp key beq wk sta key rts derrm ldx #15 jsr chkin jsr get cmp #"0" sta errflg beq schnitt lda #dst jsr strout lda #32 .byt $2c schnitt lda #205 sta evtl gt jsr get evtl lda print cmp #13 bne gt cer jsr clrchn lda errflg cmp #"0" beq okay lda dmode bne gnade devil ldx stack txs jsr clrchn lda #2 jsr close lda #4 jsr close lda #15 jsr close ldx #4 stx key crea dex bmi frei lda shift,x sta keyp,x bne crea frei lda #abb jmp strout okay rts derr lda #0 .byt $2c derr2 lda #128 sta dmode jmp derrm gnade lda #gui jsr strout lda #0 sta key jsr clrchn gg jsr get cmp #"a" beq devil cmp #"w" bne gg jsr clr10 inx jsr clrl inx jsr clrl ldx curr lda #4 sta redd,x rts a0out lda #0 jmp axout headout lda #drt jmp strout rein ldy #0 sta (tmp),y inc tmp bne tico inc tmp+1 tico rts clrscr ldx #5 d jsr clrl inx cpx #25 bcc d rts hexout pha lsr lsr lsr lsr jsr hex2 pla hex2 stx dummy+1 and #15 tax lda hextab,x jsr print dummy ldx #0 rts wfobearb lda #0 jsr rein lda t sta tmp lda t+1 sta tmp+1 reade jsr get bne reade sta key blink lda #atwo jsr strout jsr blik lda key bne fort ldx #16 jsr clrl jsr blik lda key beq blink fort ldx #16 jsr clrl jmp file blik ldx #255 ldy #155 bk dex bne bk dey bne bk rts wechsel lda #wet jsr strout lda #0 sta key jn jsr get cmp #"a" beq qdevil cmp #"j" beq jop cmp #"n" bne jn rts jop inc disk lda anzahl ldx disk sta dwechsel-1,x rts qdevil jmp devil testw ldx disk beq raus lda curr beq drehd cpdwn dex cmp dwechsel,x beq drehd cpx #0 bne cpdwn raus rts drehd lda #dreht jsr strout jsr waitkey clr10 ldx #10 jmp clrl calcd ldx #0 stx high asl rol high asl rol high asl rol high clc adc #data sta dtmp+1 rts calcn tax lda #namen sta tmp sty tmp+1 loop1 txa bne loop2 rts loop2 dex ldy #-1 loop3 iny lda (tmp),y bne loop3 iny tya clc adc tmp sta tmp bcc loop1 inc tmp+1 bne loop1 verfout ldx #1 verl lda mode and grbit-1,x beq vern jsr space txa ora #"0" jsr print vern inx cpx #7 bcc verl lda #")" jsr print jsr return jmp return petze inc gruz lda #pet1 jsr strout ldx gruz jsr a0out lda #"," jsr print jsr space ldx samec inx jsr a0out lda double clc adc samec adc #1 sta double lda #pet2 jsr strout lda curr jsr petnam ldx #0 nlp stx xmerk lda same,x jsr petnam ldx xmerk inx cpx samec bcc nlp jmp return petnam jsr calcn jsr space jsr print lda #34 jsr print ldy #0 pnam lda (tmp),y beq namefk jsr print iny bne pnam namefk lda #34 jsr print jmp return aget lda auto bne an jmp get an lda #"d" rts start jsr cint lda #0 sta vic+33 sta vic+32 tsx stx stack lda #32 sta desk lda #title jsr strout jsr waitkey jsr clall ldx #<i0 ldy #>i0 lda #2 jsr setnam lda #15 tay ldx #flop jsr setpar jsr open jsr derr lda #31 sta mode lda #0 sta disk sta anzahl lda #<namen ldy #>namen sta tmp sty tmp+1 flopp lda #<namef ldy #>namef jsr strout ldx #3 stx quote in0 jsr input cmp #13 beq finin sta d0,x inx cpx #19 bcc in0 finin txa ldx #<d0 ldy #>d0 jsr setnam ldx #flop ldy #0 lda #2 jsr setpar jsr open jsr derr lda #<lef ldy #>lef jsr strout ldx #2 jsr chkin jsr get jsr get jsr get jsr get jsr get jsr get read1 jsr get tay bne read1 file lda tmp sta t lda tmp+1 sta t+1 jsr get jsr get jsr get jsr get r jsr get cmp #"b" beq fini cmp #34 bne r s jsr get cmp #34 beq et jsr rein bne s et jsr get cmp #"*" beq wfo tax bne et jsr rein inc anzahl lda anzahl cmp #maxi bcc file lda #<full ldy #>full jsr strout jmp devil fini jsr clrchn lda #2 jsr close lda #<stu ldy #>stu jsr strout ldx anzahl jsr a0out lda #0 sta key jsr wechsel beq now jsr clrscr jmp flopp now lda anzahl cmp #2 bcs drin lda #<none ldy #>none jsr strout jmp devil wfo jmp wfobearb drin lda #<nab ldy #>nab jsr strout lda #0 sta key getm jsr get cmp #13 beq retus ldx disk bne trafi cmp #141 beq retus trafi cmp #"1" bcc getm cmp #"7" bcs getm sbc #"0" tax lda grbit,x eor mode sta mode stx tmp txa asl asl adc tmp tax ldy #3 inv lda line,x eor #128 sta line,x inx dey bne inv jmp getm retus and #128 sta auto lda mode beq getm jsr clrscr lda #<pic2 ldy #>pic2 jsr strout ldx anzahl jsr a0out lda #<pic2a ldy #>pic2a jsr strout lda #0 sta curr lda #<namen ldy #>namen sta tmp sty tmp+1 lda #<data ldy #>data sta dtmp sty dtmp+1 lda #1 ldx #0 loopb sta redd,x dex bne loopb floop jsr testw inc curr ldx #8 jsr clrl lda #<litz ldy #>litz jsr strout ldx curr jsr a0out lda #":" jsr print jsr space lda #34 jsr print ldy #0 lad lda (tmp),y beq fou0 jsr print iny bne lad fou0 tya ldx tmp ldy tmp+1 jsr setnam sec adc tmp sta tmp bcc fo inc tmp+1 fo lda #34 jsr print ldx #flop lda #2 tay jsr setpar jsr open jsr derr2 bne aus ldx #2 jsr chkin jsr get ldy #0 sta (dtmp),y iny jsr get sta (dtmp),y lda #0 ldx #5 ck sta sum1,x dex bpl ck inloop lda st and #64 bne aus inc sum1 bne noi inc sum1+1 noi jsr get sta byte clc adc sum2 adc #0 sta sum2 lda sum3 eor byte sta sum3 lda sum4 asl adc #0 adc byte sta sum4 lda sum1 eor byte clc sbc sum5 asl adc #0 sta sum5 jmp inloop aus jsr clrchn lda #2 jsr close jsr derr2 bne autsch ldx curr dec redd,x autsch ldy #2 ldx #0 copyp lda sum1,x sta (dtmp),y iny inx cpx #6 bcc copyp tya clc adc dtmp sta dtmp bcc noi2 inc dtmp+1 noi2 =* lda curr cmp anzahl bcs nfloop jmp floop nfloop lda #0 sta desk lda #<title ldy #>title jsr strout lda #<gef ldy #>gef jsr strout lda #0 sta key getdsn jsr aget cmp #"n" bne ae jmp nixda ae cmp #"s" beq printd cmp #"d" bne getdsn jsr headout ldx #druck .byt $2c printd ldx #3 stx device lda #4 ldy #0 jsr setpar tya jsr setnam lda #32 sta he2 lda #83 sta he2+1 cpx #3 bne pri lda #13 sta he2 lda #0 sta he2+1 pri jsr open ldx #4 jsr chkout lda #0 sta curr lda #<head ldy #>head jsr strout lda #<namen ldy #>namen sta tmp sty tmp+1 lda #<data ldy #>data sta dtmp sty dtmp+1 outloop inc curr lda curr cmp #100 bcs gut jsr space gut lda curr cmp #10 bcs gut2 jsr space gut2 ldx curr jsr a0out jsr space lda #34 jsr print ldy #0 lpd lda (tmp),y beq fou02 jsr print iny bne lpd fou02 tya sec adc tmp sta tmp bcc fo2 inc tmp+1 fo2 lda #34 jsr print lig jsr space iny cpy #17 bcc lig ldx curr lda redd,x beq fredi lda #<nons ldy #>nons jsr strout jmp npr fredi ldy #1 lda (dtmp),y jsr hexout dey lda (dtmp),y jsr hexout jsr space ldy #3 lda (dtmp),y jsr hexout dey lda (dtmp),y jsr hexout jsr space ldy #4 lda (dtmp),y jsr hexout jsr space iny lda (dtmp),y jsr hexout jsr space ldx device cpx #3 beq npr iny lda (dtmp),y jsr hexout jsr space iny lda (dtmp),y jsr hexout npr lda #8 clc adc dtmp sta dtmp bcc wend inc dtmp+1 wend jsr return lda curr cmp anzahl bcs deddi jmp outloop deddi jsr clrchn lda #4 jsr close ldx device cpx #3 bne nixda lda #<keyt ldy #>keyt jsr strout jsr waitkey nixda lda #0 sta gruz sta double sta desk lda #<title ldy #>title jsr strout lda #<wahwah ldy #>wahwah jsr strout lda #0 sta key ga jsr aget cmp #"a" bne wtrr jmp devil wtrr cmp #"n" bne conti jmp start conti cmp #"z" bne contl jmp nfloop contl cmp #"s" beq drei cmp #"d" bne ga jsr headout ldx #druck .byt $2c drei ldx #3 stx device lda #4 ldy #0 jsr setpar tya jsr setnam jsr open ldx #4 jsr chkout lda #<tittel ldy #>tittel jsr strout jsr verfout ldy #0 sty curr loopb2 lda redd,y sta busy-1,y iny bne loopb2 loopa ldx curr lda #0 sta samec lda busy,x beq teste jmp braf teste inc busy,x inx stx curr2 lda curr jsr calcd ldy #7 loopd lda (dtmp),y sta section,y dey bpl loopd loope ldx curr2 lda busy,x bne falsch txa jsr calcd lda mode and #1 beq notest1 ldy #2 lda section,y cmp (dtmp),y bne falsch iny lda section,y cmp (dtmp),y bne falsch notest1 lda mode and #2 beq notest2 ldy #4 lda section,y cmp (dtmp),y bne falsch notest2 lda mode and #4 beq notest3 ldy #5 lda section,y cmp (dtmp),y bne falsch notest3 lda mode and #8 beq notest4 ldy #6 lda section,y cmp (dtmp),y bne falsch notest4 lda mode and #16 beq notest5 ldy #7 lda section,y cmp (dtmp),y bne falsch notest5 lda mode and #32 beq notest6 ldy #0 lda section,y cmp (dtmp),y bne falsch iny lda section,y cmp (dtmp),y bne falsch notest6 ldx samec inc samec lda curr2 sta same,x tax inc busy,x falsch inc curr2 lda curr2 cmp anzahl bcs qlle jmp loope qlle lda samec beq braf jsr petze braf inc curr ldx curr inx cpx anzahl bcs qlla jmp loopa qlla lda gruz bne qllaa lda #<nopet ldy #>nopet jsr strout qllaa lda #<stat1 ldy #>stat1 jsr strout ldx anzahl jsr a0out lda #<stat2 ldy #>stat2 jsr strout sec lda anzahl sbc double tax jsr a0out jsr return jsr clrchn lda #4 jsr close ldx device cpx #3 bne fleiss lda #<keyt ldy #>keyt jsr strout jsr waitkey fleiss lda #0 sta auto jmp nixda